package cn.catsdad.repository;

import cn.catsdad.base.repository.api.IBaseRepository;
import cn.catsdad.dto.RoleMenuDTO;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.transaction.annotation.Transactional;

import java.util.Collection;
import java.util.List;

/**
 * 角色与菜单关联repository
 *
 * @author xuyonglong
 * @version V1.0 2023/4/13
 */
public interface RoleMenuRepository extends IBaseRepository<RoleMenuDTO, Long> {

    /**
     * 根据角色数据查询关联数据
     *
     * @param roleIds 角色id集合
     * @return 关联数据
     */
    List<RoleMenuDTO> findByRoleIdIn(Collection<Long> roleIds);

    /**
     * 根据role id批量删除数据
     *
     * @param roleIds role id集合
     */
    @Modifying
    @Transactional
    void deleteByRoleIdIn(Collection<Long> roleIds);

}
